home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / gfx / misc / gnuplot-3.7src.lha / gnuplot-3.7src / gnuplot-3.7.lha / gnuplot-3.7 / setshow.h < prev    next >
C/C++ Source or Header  |  1998-10-03  |  8KB  |  254 lines

  1. /*
  2.  * $Id: setshow.h,v 1.39 1998/04/14 00:16:18 drd Exp $
  3.  *
  4.  */
  5.  
  6. /* GNUPLOT - setshow.h */
  7.  
  8. /*[
  9.  * Copyright 1986 - 1993, 1998   Thomas Williams, Colin Kelley
  10.  *
  11.  * Permission to use, copy, and distribute this software and its
  12.  * documentation for any purpose with or without fee is hereby granted,
  13.  * provided that the above copyright notice appear in all copies and
  14.  * that both that copyright notice and this permission notice appear
  15.  * in supporting documentation.
  16.  *
  17.  * Permission to modify the software is granted, but not the right to
  18.  * distribute the complete modified source code.  Modifications are to
  19.  * be distributed as patches to the released version.  Permission to
  20.  * distribute binaries produced by compiling modified sources is granted,
  21.  * provided you
  22.  *   1. distribute the corresponding source modifications from the
  23.  *    released version in the form of a patch file along with the binaries,
  24.  *   2. add special version identification to distinguish your version
  25.  *    in addition to the base release version number,
  26.  *   3. provide your name and address as the primary contact for the
  27.  *    support of your modified version, and
  28.  *   4. retain our contact information in regard to use of the base
  29.  *    software.
  30.  * Permission to distribute the released version of the source code along
  31.  * with corresponding source modifications in the form of a patch file is
  32.  * granted with same provisions 2 through 4 for binary distributions.
  33.  *
  34.  * This software is provided "as is" without express or implied warranty
  35.  * to the extent permitted by applicable law.
  36. ]*/
  37.  
  38.  
  39. /* for show_version_long() */
  40. #ifdef HAVE_SYS_UTSNAME_H
  41. #include <sys/utsname.h>
  42. #endif
  43.  
  44. #ifndef DEFAULT_TIMESTAMP_FORMAT
  45. #define DEFAULT_TIMESTAMP_FORMAT "%a %b %d %H:%M:%S %Y" /* asctime() format */
  46. #endif
  47.  
  48. /*
  49.  * global variables to hold status of 'set' options
  50.  *
  51.  */
  52.  
  53. typedef struct {
  54.     char text[MAX_LINE_LEN+1];
  55.     double xoffset, yoffset;
  56.     char font[MAX_LINE_LEN+1];
  57. } label_struct;
  58.  
  59.  
  60. extern TBOOLEAN                 multiplot;
  61.  
  62. extern TBOOLEAN            autoscale_r;
  63. extern TBOOLEAN            autoscale_t;
  64. extern TBOOLEAN            autoscale_u;
  65. extern TBOOLEAN            autoscale_v;
  66. extern TBOOLEAN            autoscale_x;
  67. extern TBOOLEAN            autoscale_y;
  68. extern TBOOLEAN            autoscale_z;
  69. extern TBOOLEAN            autoscale_x2;
  70. extern TBOOLEAN            autoscale_y2;
  71. extern TBOOLEAN            autoscale_lt;
  72. extern TBOOLEAN            autoscale_lu;
  73. extern TBOOLEAN            autoscale_lv;
  74. extern TBOOLEAN            autoscale_lx;
  75. extern TBOOLEAN            autoscale_ly;
  76. extern TBOOLEAN            autoscale_lz;
  77. extern double            boxwidth;
  78. extern TBOOLEAN            clip_points;
  79. extern TBOOLEAN            clip_lines1;
  80. extern TBOOLEAN            clip_lines2;
  81. extern struct lp_style_type     border_lp;
  82. extern int            draw_border;
  83. #define SOUTH            1 /* 0th bit */
  84. #define WEST            2 /* 1th bit */
  85. #define NORTH            4 /* 2th bit */
  86. #define EAST            8 /* 3th bit */
  87. #define border_east        (draw_border & EAST)
  88. #define border_west        (draw_border & WEST)
  89. #define border_south        (draw_border & SOUTH)
  90. #define border_north        (draw_border & NORTH)
  91. extern TBOOLEAN            draw_surface;
  92. extern char            dummy_var[MAX_NUM_VAR][MAX_ID_LEN+1];
  93. extern char            default_font[]; /* Entry font added by DJL */
  94. extern char            xformat[];
  95. extern char            yformat[];
  96. extern char            zformat[];
  97. extern char            x2format[];
  98. extern char            y2format[];
  99. /* do these formats look like printf or time ? */
  100. extern int format_is_numeric[];
  101.  
  102. extern char            key_title[];
  103. extern enum PLOT_STYLE data_style, func_style;
  104. extern double bar_size;
  105. extern struct lp_style_type     work_grid, grid_lp, mgrid_lp;
  106. extern double     polar_grid_angle; /* angle step in polar grid in radians */
  107. extern int            key;
  108. extern struct position key_user_pos; /* user specified position for key */
  109. extern int             key_vpos, key_hpos, key_just;
  110. extern double       key_swidth, key_vert_factor; /* user specified vertical spacing multiplier */
  111. extern double                   key_width_fix; /* user specified additional (+/-) width of key titles */
  112. extern TBOOLEAN            key_reverse;  /* key back to front */
  113. extern struct lp_style_type     key_box;  /* linetype round box < -2 = none */
  114. extern TBOOLEAN            is_log_x, is_log_y, is_log_z;
  115. extern double            base_log_x, base_log_y, base_log_z;
  116.                 /* base, for computing pow(base,x) */
  117. extern double            log_base_log_x, log_base_log_y, log_base_log_z;
  118.                 /* log of base, for computing logbase(base,x) */
  119. extern TBOOLEAN            is_log_x2, is_log_y2;
  120. extern double            base_log_x2, base_log_y2;
  121.                 /* base, for computing pow(base,x) */
  122. extern double            log_base_log_x2, log_base_log_y2;
  123.                 /* log of base, for computing logbase(base,x) */
  124. extern char            *outstr;
  125. extern TBOOLEAN            parametric;
  126. extern double            pointsize;
  127. extern TBOOLEAN            polar;
  128. extern TBOOLEAN            hidden3d;
  129. extern int            angles_format;
  130. extern double            ang2rad; /* 1 or pi/180 */
  131. extern int            mapping3d;
  132. extern int            samples;
  133. extern int            samples_1;
  134. extern int            samples_2;
  135. extern int            iso_samples_1;
  136. extern int            iso_samples_2;
  137. extern float            xsize; /* scale factor for size */
  138. extern float                    xoffset;
  139. extern float                    yoffset;
  140. extern float            ysize; /* scale factor for size */
  141. extern float            zsize; /* scale factor for size */
  142. extern float            aspect_ratio; /* 1.0 for square */
  143. extern float            surface_rot_z;
  144. extern float            surface_rot_x;
  145. extern float            surface_scale;
  146. extern float            surface_zscale;
  147. extern char            term_options[];
  148.  
  149. extern label_struct title, timelabel;
  150. extern label_struct xlabel, ylabel, zlabel;
  151. extern label_struct x2label, y2label;
  152.  
  153. extern int            timelabel_rotate;
  154. extern int            timelabel_bottom;
  155. extern char            timefmt[];
  156. extern int             datatype[];
  157. extern int            range_flags[];
  158. extern double            rmin, rmax;
  159. extern double            tmin, tmax, umin, umax, vmin, vmax;
  160. extern double            xmin, xmax, ymin, ymax, zmin, zmax;
  161. extern double            x2min, x2max, y2min, y2max;
  162. extern double            loff, roff, toff, boff;
  163. extern int            draw_contour;
  164. extern TBOOLEAN      label_contours;
  165. extern char            contour_format[];
  166. extern int            contour_pts;
  167. extern int            contour_kind;
  168. extern int            contour_order;
  169. extern int            contour_levels;
  170. extern double            zero; /* zero threshold, not 0! */
  171. extern int            levels_kind;
  172. extern double        levels_list[MAX_DISCRETE_LEVELS];
  173.  
  174. extern int            dgrid3d_row_fineness;
  175. extern int            dgrid3d_col_fineness;
  176. extern int            dgrid3d_norm_value;
  177. extern TBOOLEAN            dgrid3d;
  178.  
  179. #define ENCODING_DEFAULT    0
  180. #define ENCODING_ISO_8859_1    1
  181. #define ENCODING_CP_437        2
  182. #define ENCODING_CP_850        3   /* JFi */
  183.  
  184. extern int            encoding;
  185. extern char            *encoding_names[];
  186.  
  187. /* -3 for no axis, or linetype */
  188. extern struct lp_style_type xzeroaxis;
  189. extern struct lp_style_type yzeroaxis;
  190. extern struct lp_style_type x2zeroaxis;
  191. extern struct lp_style_type y2zeroaxis;
  192.  
  193. extern int xtics;
  194. extern int ytics;
  195. extern int ztics;
  196. extern int mxtics;
  197. extern int mytics;
  198. extern int mztics;
  199. extern int x2tics;
  200. extern int y2tics;
  201. extern int mx2tics;
  202. extern int my2tics;
  203. extern double mxtfreq;
  204. extern double mytfreq;
  205. extern double mztfreq;
  206. extern double mx2tfreq;
  207. extern double my2tfreq;
  208. extern TBOOLEAN rotate_xtics;
  209. extern TBOOLEAN rotate_ytics;
  210. extern TBOOLEAN rotate_ztics;
  211. extern TBOOLEAN rotate_x2tics;
  212. extern TBOOLEAN rotate_y2tics;
  213.  
  214. extern float ticslevel;
  215. extern double ticscale; /* scale factor for tic marks (was (0..1])*/
  216. extern double miniticscale; /* and for minitics */
  217.  
  218. extern struct ticdef xticdef;
  219. extern struct ticdef yticdef;
  220. extern struct ticdef zticdef;
  221. extern struct ticdef x2ticdef;
  222. extern struct ticdef y2ticdef;
  223.  
  224. extern TBOOLEAN            tic_in;
  225.  
  226. extern struct text_label *first_label;
  227. extern struct arrow_def *first_arrow;
  228. extern struct linestyle_def *first_linestyle;
  229.  
  230. extern int lmargin, bmargin,rmargin,tmargin; /* plot border in characters */
  231.  
  232. extern char cur_locale[MAX_ID_LEN+1];
  233.  
  234. extern char full_month_names[12][32];
  235. extern char abbrev_month_names[12][8];
  236.  
  237. extern char full_day_names[7][32];
  238. extern char abbrev_day_names[7][8];
  239.  
  240. /* The set and show commands, in setshow.c */
  241. void set_command __PROTO((void));
  242. void reset_command __PROTO((void));
  243. void show_command __PROTO((void));
  244. /* and some accessible support functions */
  245. enum PLOT_STYLE get_style __PROTO((void));
  246. TBOOLEAN load_range __PROTO((int axis, double *a, double *b, int autosc));
  247. void show_version __PROTO((FILE *fp));
  248. void show_version_long __PROTO((void));
  249. char * conv_text __PROTO((char *s, char *t));
  250. void lp_use_properties __PROTO((struct lp_style_type *lp, int tag, int pointflag ));
  251.  
  252. /* string representing missing values, ascii datafiles */
  253. extern char *missing_val;
  254.